home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 08 (1983-04)(Softdisk)(Disk 1 of 2 Side B).zip / Softdisk Magazette Volume 2, No. 08 (1983-04)(Softdisk)(Disk 1 of 2 Side B).do / DDM INPUT ANYTHING SOURCE.txt < prev    next >
Text File  |  1996-12-24  |  2KB  |  55 lines

  1. *************************************
  2. *                                   * 
  3. *                                   * 
  4. *  DUNCAN'S INPUT ANYTHING          * 
  5. *                                   * 
  6. *THIS ROUTINE IS A SIMPLE MACHINE   * 
  7. *LANGUAGE VERSION OF THE INPUT      * 
  8. *ANYTHING SUBROUTINES. IT ALLOWS    * 
  9. *THE ENTRY OF A STRING VARIABLE     * 
  10. *WITHOUT CHECKING COMMAS, COLONS,   * 
  11. *OR CONTROL CHARACTERS. A <RETURN>  * 
  12. *TERMINATES THE ENTRY.              * 
  13. * TO CALL FROM APPLESOFT BASIC, USE * 
  14. *THE FOLLOWING TYPE OF CODE:        * 
  15. *                                   * 
  16. *100 CALL 768,A$                    * 
  17. *                                   * 
  18. *  THIS WILL CALL THE ROUTINE AT    * 
  19. * $0300 (768.) AND RETURN THE       *
  20. * ENTERED STRING IN THE VARIABLE A$ *
  21. *                                   *
  22. *************************************
  23. *
  24. *
  25. *
  26. CHKCOM EQU $DEBE ;CHECKS FOR COMMA
  27. PTRGET EQU $DFE3 ;GETS VARIABLE NAME 
  28. CHKSTR EQU $DD6C ;SYNERR <> $
  29. FORPNT EQU $85   ;VARIABLE PNTR
  30. INLIN  EQU $D52C ;INPUT TO BUFFER 
  31. BUFHI  EQU $02   ;BUFFER = $200
  32. BUFLO  EQU $00
  33. RTNCHR EQU $8D   ;RETURN CHAR
  34. MAKSTR EQU $E3E9 ;MAKE A STRING
  35. SAVVAR EQU $DA9A ;SAVE A VARIABLE
  36. *
  37. *  ROUTINE IS RELOCATABLE IF DESIRED 
  38. *
  39.        ORG $0300
  40. *
  41. *
  42. *
  43.        JSR CHKCOM ;CHECK FOR COMMA
  44.        JSR PTRGET ;GET VARAIBLE ADDR
  45.        JSR CHKSTR ;MAKE SURE A STRING
  46.        STA FORPNT ;STORE ADDR OF 
  47.        STY FORPNT+1 ;STRING FOR LATER 
  48.        JSR INLIN  ;GET INPUT STRING
  49.        LDA #BUFLO ;A,Y -> BUFFER FOR
  50.        LDY #BUFHI ;MAKSTR, X IS THE
  51.        LDX #RTNCHR ;END CHARACTER
  52.        JSR MAKSTR ;INPUT TO STRING
  53.        JSR SAVVAR ;MOVE TO VARIABLE
  54.        RTS        ;ALL DONE, RETURN
  55.